A binary large object (blob) is a collection of binary data that may be stored as a single entity in a database management system. Blobs may be stored in one or more database stores, such as data stores in a cloud. A cloud storage system may consist of storage servers that are accessible to an application via a network infrastructure, such as the Internet.
The storage of blobs in a cloud storage system may differ from the storage of data via the use of traditional database software that resides on a single computing device. For example, traditional database software is designed with internal mechanisms to ensure adherence to strict rules of atomicity, consistency, isolation, and durability, also known as the ACID rules. Atomicity refers to the criteria that either all tasks in a transaction should happen or none should happen. In other words, the transaction must be either completed or rolled back. Consistency refers to the criteria that every transaction should conform to the consistency rules of the database software. Thus, each of the transactions cannot leave the data in the database in a contradictory state. Isolation refers to the criteria that two simultaneous transactions cannot interfere with one another, and intermediate results within one transaction must remain invisible to the other transaction. Durability refers to the criteria that completed transactions cannot be aborted or their results discarded.
Thus, the design of traditional internally coded database software, such as database systems based on the relational database management system (RDBMS) model, may combine these ACID rules with performance considerations to achieve the desired operation characteristics. However, once the design of such traditional database software is implemented, the configuration of the database software cannot be easily changed. As a result, traditional database software may be inadequate to store certain types of data, large chunks of data, or large quantities of persistent data. On the other hand, a blob storage system may provide data storage capability that is inherently unlimited and scalable, as addition of data storage servers may be added to the cloud.